AWS ConfigでEC2のパブリックIPチェックを自動化し、非準拠時にメール通知する方法
はじめに
こんにちは、かつまたです。
今回はAWS Configを用いてec2-instance-no-public-ipルールを設定することで、EC2インスタンスにパブリックIP(Elastic IPを含む)がアタッチされていないことを検出し、非準拠(アタッチされている場合)の際にSNSでメール通知をおこなう構成を作成しました。
おおまかな手順概としては
1.AWS Configルールの設定
2.SNSトピックの作成とサブスクリプションの設定
3.EventBridgeルールの作成
4.非準拠EC2の起動と通知確認
となります。
構成図は以下の通りです。
1.AWS Configルールの設定
1.1 AWSマネジメントコンソールからAWS Configサービスに移動します。
1.2 「ルール」→「ルールの追加」からAWS管理ルールを選択し、ec2-instance-no-public-ip を選択します。
1.3 ルールの詳細と評価モードを設定し、ルールを作成します
1.4 Configのナビゲーションメニューを開き、「設定」から「編集」→「記録方法」で「AWS EC2 Instance」を選択し「保存」を押下します。この操作によりConfigがEC2インスタンスの設定変更を追跡するように設定できます。
2.SNSトピックの作成とサブスクリプションの設定
2.1 Amazon SNSから「トピックの作成」をクリックします。
2.2 タイプとして「スタンダード」を選択します。
2.3 トピック名を入力し、トピックを作成します。
2.4 作成したトピックを選択し、サブスクリプションの作成をクリックし、プロトコルとして「Email」を選択し、通知を受け取りたいメールアドレスを入力します。サブスクリプションの作成をクリックします。
2.5 メールアドレスに送信された確認リンクをクリックして、サブスクリプションを確認します。
3.EventBridgeルールの作成
3.1 Amazon EventBridgeサービスに移動し、「ルールの作成」をクリックします。
3.2 ルール名を入力します。
3.3 イベントバスとして「default」、「イベントパターン」の「イベントソース」として「AWS Config」を選択します。
3.4 イベントパターンを設定します。以下のパターンを使用します:
{
"source": ["aws.config"],
"detail-type": ["Config Rules Compliance Change"],
"detail": {
"messageType": ["ComplianceChangeNotification"],
"newEvaluationResult": {
"complianceType": ["NON_COMPLIANT"]
}
}
}
3.5 ターゲットとして「SNSトピック」を選択し、先ほど作成したSNSトピックを選択します。ルールの作成をクリックします。
4.非準拠EC2の起動と通知確認
4.1 Amazon EC2サービスに移動し、インスタンスの起動をクリックします。
4.2 AMIやインスタンスタイプ、VPCやセキュリティグループなど各種設定を選択します。
4.3 インスタンスの詳細の設定で、ネットワーク設定を確認し、パブリックIPアドレスの自動割り当てを「有効」に設定します。
4.4 起動をクリックして、インスタンスを起動します。
4.5 AWS Config→「ルール」→ルール名のページの「対象範囲内のリソース」で非準拠のインスタンスが検出されていることを確認します。「アクション」→「再評価」から更新をおこなう事もできます。
4.6 SNSサブスクリプションで登録したメールアドレスに通知が届いていることを確認します。
おわりに
今回、パブリックIPアドレスを持つインスタンスを検出し、メール通知を行う構成を構築しました。AWS Configルールやターゲットリソースを変えることで様々なサービスの構成管理が可能になるため非常に便利なサービスです。ぜひご活用ください。
ご覧いただき、ありがとうございました。
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。